package DevCode.Servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import DevCode.Excepcion.DAOExcepcion;
import DevCode.Negocio.GestionUsuario;

/**
 * Servlet implementation class GuardarUsuarioServlet
 */
@WebServlet("/GuardarUsuarioServlet")
public class GuardarUsuarioServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public GuardarUsuarioServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		int USicodigo = Integer.parseInt(request.getParameter("USicodigo"));
		String USvnombres = request.getParameter("txtnombres");
		String USvapaterno = request.getParameter("txtapaterno");
		String USvamaterno = request.getParameter("txtamaterno");
		String UScsexo = request.getParameter("rbtgenero");
		String USvtipodocumento = request.getParameter("cbotipodocumento");
		String USvnumdocumento = request.getParameter("txtndocumento");
		String USvnumcelular = request.getParameter("txtcelular");
		String USvcorreo = request.getParameter("txtemail");
		String USvpassword = request.getParameter("txtpassword");
		String USvtipousuario = request.getParameter("cbotipousuario");
		Boolean USiestado = true;
		int CFicodigo = Integer.parseInt(request.getParameter("cboinstitucion"));

		GestionUsuario negocio = new GestionUsuario();
		String mensaje="";
		try {		
			if(USicodigo == 0){
				mensaje = negocio.insertarUsuario(USvnombres, USvapaterno, USvamaterno, UScsexo, USvtipodocumento, USvnumdocumento, USvnumcelular, USvcorreo, USvpassword, USvtipousuario, USiestado, CFicodigo);
			}else{
				mensaje = negocio.actualizarUsuario(USicodigo, USvnombres, USvapaterno, USvamaterno, UScsexo, USvtipodocumento, USvnumdocumento, USvnumcelular, USvcorreo, USvpassword, USvtipousuario, USiestado, CFicodigo);
			}
			if(mensaje.contains("ERROR")){
				request.setAttribute("USicodigo", USicodigo);
				request.setAttribute("USvnombres", USvnombres);
				request.setAttribute("USvapaterno", USvapaterno);
				request.setAttribute("USvamaterno", USvamaterno);
				request.setAttribute("UScsexo", UScsexo);
				request.setAttribute("USvtipodocumento", USvtipodocumento);
				request.setAttribute("USvnumdocumento", USvnumdocumento);
				request.setAttribute("USvnumcelular", USvnumcelular);
				request.setAttribute("USvcorreo", USvcorreo);
				request.setAttribute("USvpassword", USvpassword);
				request.setAttribute("USvtipousuario", USvtipousuario);
				request.setAttribute("USiestado", USiestado);
				request.setAttribute("CFicodigo", CFicodigo);
				if(mensaje.contains("email")){
					request.setAttribute("Foco", "E");
				}else{
					request.setAttribute("Foco", "D");
				}
			}
			request.setAttribute("MENSAJE", mensaje);
			RequestDispatcher rd = request.getRequestDispatcher("UsuarioServlet");
			rd.forward(request, response);	
		}catch (DAOExcepcion e) {
			RequestDispatcher rd = request.getRequestDispatcher("Error.jsp");
			rd.forward(request, response);
		}	
	}

}
